home *** CD-ROM | disk | FTP | other *** search
/ NeXT Education Software Sampler 1992 Fall / NeXT Education Software Sampler 1992 Fall.iso / Programming / Source / winterp-1.13 / src-server / Imakefile < prev    next >
Encoding:
Makefile  |  1991-10-06  |  8.7 KB  |  271 lines

  1. ################################################################################
  2. #
  3. # File:         Imakefile
  4. # RCS:          $Header: Imakefile,v 1.3 91/03/14 03:15:38 mayer Exp $
  5. # Description:  IMAKEFILE FOR WINTERP-SERVER DIRECTORY
  6. # Author:       Niels Mayer, HPLabs
  7. # Created:      Fri Nov 24 19:47:38 1989
  8. # Modified:     Sat Oct  5 21:55:11 1991 (Niels Mayer) mayer@hplnpm
  9. # Language:     N/A
  10. # Package:      N/A
  11. # Status:       X11r5 contrib tape release
  12. #
  13. # WINTERP Copyright 1990, 1991 Hewlett-Packard Company (by Niels Mayer).
  14. # XLISP version 2.1, Copyright (c) 1989, by David Betz.
  15. #
  16. # Permission to use, copy, modify, distribute, and sell this software and its
  17. # documentation for any purpose is hereby granted without fee, provided that
  18. # the above copyright notice appear in all copies and that both that
  19. # copyright notice and this permission notice appear in supporting
  20. # documentation, and that the name of Hewlett-Packard and David Betz not be
  21. # used in advertising or publicity pertaining to distribution of the software
  22. # without specific, written prior permission.  Hewlett-Packard and David Betz
  23. # make no representations about the suitability of this software for any
  24. # purpose. It is provided "as is" without express or implied warranty.
  25. #
  26. # HEWLETT-PACKARD AND DAVID BETZ DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
  27. # SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
  28. # IN NO EVENT SHALL HEWLETT-PACKARD NOR DAVID BETZ BE LIABLE FOR ANY SPECIAL,
  29. # INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  30. # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  31. # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  32. # PERFORMANCE OF THIS SOFTWARE.
  33. #
  34. # See ./winterp/COPYRIGHT for information on contacting the authors.
  35. #
  36. # Please send modifications, improvements and bugfixes to mayer@hplabs.hp.com
  37. # Post XLISP-specific questions/information to the newsgroup comp.lang.lisp.x
  38. #
  39. ################################################################################
  40.  
  41. #define IHaveSubdirs
  42. #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
  43.  
  44. #
  45. # Note on INCLUDES for Motif 1.0:
  46. # ==============================
  47. # Motif 1.0 does not use the standard X11r4 toolkit, therefore you must
  48. # make sure that you are compiling Motif 1.0 programs with the headers
  49. # associated with Motif 1.0, not the default headers that are used by
  50. # X11r4 imake.
  51. #
  52. # Standard locations for Motif includes are /usr/include/X11 and
  53. # /usr/include/Xm. Note that Motif 1.0 uses a variant of the X11r3 toolkit
  54. # intrinsics headers which are installed in /usr/include/X11. Don't
  55. # confuse these    with the incompatible Xtoolkit intrinsics from X11r4.
  56. #
  57. # IF YOUR INSTALLATION OF MOTIF PLACES THE INCLUDE FILES FOR MOTIF's Xt/Xm
  58. # DIRECTORIES SOMEWHERE OTHER THAN cc's USUAL INCLUDE SEARCH PATH
  59. # (normally -I/usr/include -I.), THEN YOU WILL HAVE TO SET 'INCLUDES' BELOW
  60. # TO THE APPROPRIATE LOCATION.
  61. #
  62. # If you change INCLUDES below, you should also set INCLUDES in 
  63. # ./xlisp/Imakefile.
  64. #
  65. # INCLUDES = -I/usr/include -I.
  66.  
  67. #
  68. # Note on INCLUDES for Motif 1.1:
  69. # ==============================
  70. # Motif 1.1 uses the X11r4 Xlib, libXt, etc. Therefore imake should
  71. # automatically point the compiler to the correct include file directory.
  72. # Thus, leave imake's default TOP_INCLUDES alone, since that will point
  73. # to the X11r4 headers.
  74. # Motif 1.1 is not included as part of the X11r4 distribution. 
  75. # IF YOUR INSTALLATION OF MOTIF PLACES THE INCLUDE FILES FOR MOTIF's Xm
  76. # DIRECTORIES SOMEWHERE OTHER THAN cc's USUAL INCLUDE SEARCH PATH
  77. # (e.g. /usr/include/Xm), THEN YOU WILL HAVE TO SET 'STD_INCLUDES' BELOW
  78. # TO THE APPROPRIATE LOCATION.
  79. #
  80. # If you change STD_INCLUDES below, you should also set STD_INCLUDES
  81. # in ./xlisp/Imakefile. 
  82. #            
  83. # STD_INCLUDES = -I. -I/mnt0/src/OSFMotif1.1.1 -I/mnt0/src/OSFMotif1.1.1/X11
  84.  
  85. #
  86. # Note on SYS_LIBRARIES:
  87. #       "-lm" == libm.a:
  88. #        This is required by XLISP since it includes math routines.
  89. #
  90. #    "-lXm" == libXm.a:
  91. #        This library is part of OSF/Motif, it is not included with
  92. #        X11r4. Many systems vendors sell Motif as part of their OS,
  93. #        e.g. HP, IBM, DEC, MIPS, SCO, etc. If you haven't installed
  94. #        Motif on your system, then replace -lXm below with
  95. #        <path>/libXm.a
  96. #
  97. #    $(XTOOLLIB) == "-lXt" == libXt.a:
  98. #        If you are using Motif 1.1, this should be the standard
  99. #        X11r4 Xt Instrinsics library, with MIT patches 1-18, and any
  100. #        additional patches distributed by OSF. If you are using X11r4
  101. #        Imake, then use $(XTOOLLIB) and imake will do the right thing.
  102. #        If you are using Motif 1.0, you must replace $(XTOOLLIB) with
  103. #        -lXt or <path>/libXt.a -- make sure you are using the libXt.a
  104. #        supplied with Motif 1.0. DO NOT USE libXt.a from X11r4 with
  105. #        Motif 1.0 -- they are incompatible.
  106. #
  107. #    $(XLIB) == "-lX11" == libX11.a:
  108. #        If you are using Motif 1.1, this is the standard X11r4
  109. #        X11 library, or the X11 library supplied by your vendor.
  110. #        If you are using X11r4 Imake, then use $(XLIB) and
  111. #        imake will do the right thing.
  112. #        For Motif 1.0, you should probably use the X11 library
  113. #        supplied by your vendor (e.g. -lX), although the X11r4
  114. #        libX11.a should work too.
  115. #
  116. #    "-lPW" == libPW.a:
  117. #        This library is required by Motif's file selection box widget
  118. #        on some brands of Unix, such as HPUX, MIPS, and other systems
  119. #        that I am not familiar with. Note that this library may or
  120. #        may not be required for other OS's. See    the Motif documentation
  121. #        for your particular installation of Motif for details.
  122. #
  123. #    "-lmalloc" == libmalloc.a:
  124. #        I've been using this fast malloc library on HPUX. When
  125. #        used in conjuction with Motif, -lmalloc causes a tremendous
  126. #        improvement in the overall application performance. Supposedly
  127. #        for HPUX 8.0, the standard malloc will be faster, though...
  128. #        I don't know whether something equivalent exists on other OS's,
  129. #        therefore I'm leaving it out by default. This should allow WINTERP to
  130. #        build on more systems -- those using OS's supporting -lmalloc may
  131. #        want to include -lmalloc in SYS_LIBRARIES below.
  132. #
  133.  
  134. #ifdef HPArchitecture
  135.  
  136. # SYS_LIBRARIES = /mnt0/src/OSFMotif1.1.1/lib/Xm/libXm.a $(XTOOLLIB) $(XLIB) -lPW -lm -lmalloc
  137.  SYS_LIBRARIES = -lXm $(XTOOLLIB) $(XLIB) -lPW -lm -lmalloc
  138.  
  139. #else
  140.  
  141.  SYS_LIBRARIES = -lXm $(XTOOLLIB) $(XLIB) -lm
  142.  
  143. #endif
  144.  
  145.  
  146.  SUBDIRS = xlisp
  147.  
  148. MakeSubdirs($(SUBDIRS))
  149. DependSubdirs($(SUBDIRS))
  150. MakeLintLibSubdirs($(SUBDIRS))
  151.  
  152.  
  153.  SRCS =    utils.c \
  154.     w_XmString.c \
  155.     w_callbacks.c \
  156.     w_classes.c \
  157.     w_evnthndlr.c \
  158.     w_funtab.c \
  159.     w_libXm.c \
  160.     w_libXt.c \
  161.     w_pixmap.c \
  162.     w_resources.c \
  163.     w_savedobjs.c \
  164.     w_timeouts.c \
  165.     w_txlations.c \
  166.     w_utils.c \
  167.     wc_ArrowB.c \
  168.     wc_BulletinB.c \
  169.     wc_CascadeB.c \
  170.     wc_Command.c \
  171.     wc_DrawingA.c \
  172.     wc_DrawnB.c \
  173.     wc_FileSB.c \
  174.     wc_Form.c \
  175.     wc_Frame.c \
  176.     wc_Label.c \
  177.     wc_List.c \
  178.     wc_MainW.c \
  179.     wc_MessageB.c \
  180.     wc_PanedW.c \
  181.     wc_PushB.c \
  182.     wc_RowColumn.c \
  183.     wc_SHELL.c \
  184.     wc_Scale.c \
  185.     wc_ScrollBar.c \
  186.     wc_ScrolledW.c \
  187.     wc_SelectioB.c \
  188.     wc_Separator.c \
  189.     wc_Text.c \
  190.     wc_ToggleB.c \
  191.     wc_WIDGET.c \
  192.     winterp.c
  193.  
  194.  OBJS = utils.o \
  195.     w_XmString.o \
  196.     w_callbacks.o \
  197.     w_classes.o \
  198.     w_evnthndlr.o \
  199.     w_funtab.o \
  200.     w_libXm.o \
  201.     w_libXt.o \
  202.     w_pixmap.o \
  203.     w_resources.o \
  204.     w_savedobjs.o \
  205.     w_timeouts.o \
  206.     w_txlations.o \
  207.     w_utils.o \
  208.     wc_ArrowB.o \
  209.     wc_BulletinB.o \
  210.     wc_CascadeB.o \
  211.     wc_Command.o \
  212.     wc_DrawingA.o \
  213.     wc_DrawnB.o \
  214.     wc_FileSB.o \
  215.     wc_Form.o \
  216.     wc_Frame.o \
  217.     wc_Label.o \
  218.     wc_List.o \
  219.     wc_MainW.o \
  220.     wc_MessageB.o \
  221.     wc_PanedW.o \
  222.     wc_PushB.o \
  223.     wc_RowColumn.o \
  224.     wc_SHELL.o \
  225.     wc_Scale.o \
  226.     wc_ScrollBar.o \
  227.     wc_ScrolledW.o \
  228.     wc_SelectioB.o \
  229.     wc_Separator.o \
  230.     wc_Text.o \
  231.     wc_ToggleB.o \
  232.     wc_WIDGET.o \
  233.     winterp.o 
  234.  
  235. #
  236. # Note on DEFINES:
  237. # (1) -DWINTERP: xlisp/xlisp.h and xlisp/xldmem.h (which are included by all
  238. # WINTERP files) have '#ifdef WINTERP' surrounding changes made to XLISP
  239. # for use by WINTERP: you MUST compile with -DWINTERP or nothing will work.
  240. #
  241. # (2) -D_NO_PROTO: this is required by Motif 1.1 if you are using a
  242. # non-ANSI-C compiler. Eventually everybody will have an ANSI C compiler
  243. # and at that point this flag should be removed.
  244. #
  245. # (3) -Dhpux is needed if you are running on HPUX 7.0.
  246. #
  247. # (4) -DMALLOC_0_RETURNS_NULL is needed on HPUX 7.0 when linking with
  248. # the fast malloc library "-lmalloc".
  249. #
  250. # For HPUX 7.0, -Wc,-Np1000 is there to prevent the 'cc' error:
  251. #     "Parameter table overflow. Try the -Wc,-Np option."
  252. # Get rid of this in HPUX 8.0 since the compiler is supposed to use
  253. # dynamic tables.
  254. # Note that the X11r4 Imake hp.cf specifies a smaller value of
  255. # "-Wc,-Np" -- this setting overrides that value.
  256. #
  257.  
  258. #ifdef HPArchitecture
  259.  DEFINES = -Dhpux -DWINTERP -DMALLOC_0_RETURNS_NULL -D_NO_PROTO -Wc,-Np1000
  260. #else
  261.  DEFINES = -DWINTERP -D_NO_PROTO
  262. #endif
  263.  
  264. #
  265. # xlisp/libXlisp.a is a library of routines from XLISP used by WINTERP
  266. #
  267.  LOCAL_LIBRARIES = xlisp/libXlisp.a
  268.  
  269. ComplexProgramTarget(winterp)
  270.